package com.cnhis.drgs.base;

import com.cnhis.drgs.core.vo.Page;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * service基础接口列表
 *
 * @date 2017-09-17 16:55:32
 */
public interface BaseService<T> {

    T query(Serializable id);

    List<T> queryList(Map<String, Object> map);

    T queryFirst(Map<String, Object> map);

    Page queryPage(Page page);

    List<T> queryAll();

    // 插入一条数据  如果主键是自增长，返回主键id
    Long insert(T t);

    void insertList(List<T> list);

    void update(T t);

    void updateDynamic(T t);

    void saveOrUpdate(T t);

    void delete(Serializable id);

    void deletes(Serializable[] ids);

    void deleteBy(Map<String, Object> map);

    void lockRow(Serializable id);

}
